package com.xuecheng.content.service;

import com.xuecheng.base.model.PageParams;
import com.xuecheng.base.model.PageResult;
import com.xuecheng.content.model.dto.AddCourseDto;
import com.xuecheng.content.model.dto.CourseBaseInfoDto;
import com.xuecheng.content.model.dto.QueryCourseParamsDto;
import com.xuecheng.content.model.po.CourseBase;

/**
 * @Description: // 类说明，在创建类时要填写
 * @ClassName: CourseBaseInfoService    // 类名，会自动填充
 * @Author: MYH          // 创建者
 * @Date: 2023/1/28 22:04   // 时间
 * @Version: 1.0     // 版本
 */
public interface CourseBaseInfoService {

    /**
     * 课程查询
     * @param params 分页参数
     * @param queryCourseParamsDto 查询条件
     * @return
     */
    public PageResult<CourseBase> queryCourseBaseList(PageParams params, QueryCourseParamsDto queryCourseParamsDto);

    /**
     * 新增课程并
     * @param companyId 培训机构的id
     * @param addCourseDto 新增课程的信息
     * @return 课程信息包括基本信息和营销信息
     */
    public CourseBaseInfoDto createCourseBase(Long companyId,AddCourseDto addCourseDto);


    /**
     * 修改课程的接口：用于回显信息
     * @param courseId 课程id
     * @return 返回课程基本信息表和课程营销表
     */
    public CourseBaseInfoDto getCourseBaseInfo(Long courseId);


    /**
     * 修改课程的接口
     * @param courseBaseInfoDto
     * @return
     */
    public CourseBaseInfoDto modifyCourseBaseById(Long companyId,CourseBaseInfoDto courseBaseInfoDto);


    /**
     * 删除课程:删除课程相关的基本信息、营销信息、课程计划、课程教师信息
     * @param id
     */
    public void delCourseBase(Long id,Long companyId);

}
